
package com.monlyu.util;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;

/********************************************************************************
 * <b>功能描述☞</b>这个类是关于属性文件操作的基准类<br>
 * <b>开发公司☞</b>重庆唯尼科技有限公司<br>
 * <b>版权☞</b>本文件归重庆唯尼科技有限公司所有<br>
 * <b>项目名☞</b>Merlot<br>
 * <b>文件路径☞</b>com.monlyu.util.PropertyUtil.java<br>
 * <b>开发日期☞</b>2010-8-4 <br>
 * 
 * @author monlyu
 * @since JDK 5
 * @version 1.0.8
 ********************************************************************************/
public class PropertyUtil {

    public static Properties read(String path){
        Properties props = new Properties();
        try {
            InputStream in = new BufferedInputStream(new FileInputStream(path));
            props.load(in);
            in.close();
            return props;
        }
        catch (Exception e) {
            LogUtil.log(PropertyUtil.class).debug("读取属性文件失败" + e);
            return null;
        }
    }

    public static void store(Map<String, String> kv, String out){
        try {
            Properties proc = read(out);
            for (Entry<String, String> key : kv.entrySet()) {
                if (!(key.equals("db.createnew") || key.equals("db.createurl"))) {
                    proc.setProperty(key.getKey(), key.getValue());
                }
            }
            FileOutputStream output = new FileOutputStream(out);
            proc.store(output, "Store UserName and password");
            output.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
